Vehicle control system

ABSTRACT

Systems and methods for controlling a failover response of an autonomous vehicle are provided. In one example embodiment, a method includes determining, by one or more computing devices on-board an autonomous vehicle, an operational mode of the autonomous vehicle. The autonomous vehicle is configured to operate in at least a first operational mode in which a human driver is present in the autonomous vehicle and a second operational mode in which the human driver is not present in the autonomous vehicle. The method includes detecting a triggering event associated with the autonomous vehicle. The method includes determining actions to be performed by the autonomous vehicle in response to the triggering event based at least in part on the operational mode. The method includes providing one or more control signals to one or more of the systems on-board the autonomous vehicle to perform the one or more actions in response to the triggering event.

FIELD

The present disclosure relates generally to controlling the response ofan autonomous vehicle to a detected triggering event based on thevehicle's operational mode.

BACKGROUND

An autonomous vehicle can perceive its surroundings by using varioussensor apparatuses and determining its position on the basis of theinformation associated with its surroundings. This can allow anautonomous vehicle to navigate without human intervention and, in somecases, even omit the use of a human driver altogether. In some cases, anautonomous vehicle may be monitored by a remote tracking system.However, such monitoring can be subject to potential communicationlatencies.

SUMMARY

Aspects and advantages of embodiments of the present disclosure will beset forth in part in the following description, or may be learned fromthe description, or may be learned through practice of the embodiments.

One example aspect of the present disclosure is directed to acomputer-implemented method of controlling a failover response of anautonomous vehicle. The method includes determining, by one or morecomputing devices on-board an autonomous vehicle, an operational mode ofthe autonomous vehicle. The autonomous vehicle is configured to operatein at least a first operational mode in which a human driver is presentin the autonomous vehicle and a second operational mode in which thehuman driver is not present in the autonomous vehicle. The methodincludes detecting, by the one or more computing devices, a triggeringevent associated with the autonomous vehicle. The method includesdetermining, by the one or more computing devices, one or more actionsto be performed by one or more systems on-board the autonomous vehiclein response to the triggering event. The one or more actions are basedat least in part on whether the autonomous vehicle is in the firstoperational mode or the second operational mode. The method includesproviding, by the one or more computing devices, one or more controlsignals to one or more of the systems on-board the autonomous vehicle toperform the one or more actions in response to the triggering event.

Another example aspect of the present disclosure is directed to acontrol system for controlling a failover response of an autonomousvehicle. The system includes one or more processors on-board anautonomous vehicle and one or more memory devices on-board theautonomous vehicle. The one or more memory devices store instructionsthat when executed by the one or more processors cause the one or moreprocessors to perform operations. The operations include detecting atriggering event associated with an autonomous vehicle configured tooperate in a plurality of operational modes. The plurality ofoperational modes include a first operational mode in which a humandriver is present in the autonomous vehicle and a second operationalmode in which the human driver is not present in the autonomous vehicle.The operations include determining one or more actions to be performedby one or more systems on-board the autonomous vehicle in response tothe detection of the triggering event. The one or more actions are basedat least in part on whether the autonomous vehicle is in the firstoperational mode or the second operational mode. The operations includeproviding one or more control signals to the one or more systemson-board the autonomous vehicle to perform the one or more actions.

Yet another example aspect of the present disclosure is directed to anautonomous vehicle including one or more systems on-board the autonomousvehicle, one or more processors on-board the autonomous vehicle, and oneor more memory devices on-board the autonomous vehicle. The one or morememory devices store instructions that when executed by the one or moreprocessors cause the one or more processors to perform operations. Theoperations include determining an operational mode of the autonomousvehicle. The autonomous vehicle is configured to operate in at least afirst operational mode in which a human driver is present in theautonomous vehicle and a second operational mode in which the humandriver is not present in the autonomous vehicle. The operations includedetecting a triggering event associated with the autonomous vehicle. Theoperations include determining one or more actions to be performed byone or more of the systems on-board the autonomous vehicle in responseto the triggering event. The one or more actions are based at least inpart on whether the human driver is present in the autonomous vehicle.The operations include providing one or more control signals to one ormore of the systems on-board the autonomous vehicle to perform the oneor more actions.

Other example aspects of the present disclosure are directed to systems,methods, vehicles, apparatuses, tangible, non-transitorycomputer-readable media, user interfaces, and memory devices forcontrolling a failover response of an autonomous vehicle.

These and other features, aspects and advantages of various embodimentswill become better understood with reference to the followingdescription and appended claims. The accompanying drawings, which areincorporated in and constitute a part of this specification, illustrateembodiments of the present disclosure and, together with thedescription, serve to explain the related principles.

BRIEF DESCRIPTION OF THE DRAWINGS

Detailed discussion of embodiments directed to one of ordinary skill inthe art are set forth in the specification, which makes reference to theappended figures, in which:

FIG. 1 depicts an example system overview according to exampleembodiments of the present disclosure;

FIG. 2 depicts an example control system for controlling a failoverresponse of a vehicle according to example embodiments of the presentdisclosure;

FIG. 3 depicts a flow diagram of an example method of controlling afailover response of a vehicle according to example embodiments of thepresent disclosure;

FIG. 4 depicts a flow diagram of an example method of determining anoperational mode of a vehicle according to example embodiments of thepresent disclosure;

FIG. 5 depicts a diagram of example vehicle states according to exampleembodiments of the present disclosure; and

FIG. 6 depicts example system components according to exampleembodiments of the present disclosure.

DETAILED DESCRIPTION

Reference now will be made in detail to embodiments, one or moreexample(s) of which are illustrated in the drawings. Each example isprovided by way of explanation of the embodiments, not limitation of thepresent disclosure. In fact, it will be apparent to those skilled in theart that various modifications and variations can be made to theembodiments without departing from the scope or spirit of the presentdisclosure. For instance, features illustrated or described as part ofone embodiment can be used with another embodiment to yield a stillfurther embodiment. Thus, it is intended that aspects of the presentdisclosure cover such modifications and variations.

Example aspects of the present disclosure are directed to determiningthe operational mode of an autonomous vehicle and controlling thefailover response of an autonomous vehicle to a detected triggeringevent. A failover response can be the response, such as an action, takenby the autonomous vehicle (e.g., its computing system) based at least inpart on a triggering event associated with the vehicle. A triggeringevent can be an occurrence associated with the autonomous vehicle thatcauses the autonomous vehicle to change from a normal operating state(e.g., in which the autonomous vehicle autonomously navigates) to afailover operating state (e.g., that allows manual vehicle control,stops the motion of the autonomous vehicle). The autonomous vehicle canrespond more appropriately to the detected triggering event because theresponse is based on the operational mode of the vehicle. For instance,an autonomous vehicle can be configured to drive, navigate, operate,etc. in a plurality of operational modes. In a first operational mode, ahuman driver can be present in the autonomous vehicle. The autonomousvehicle can also operate in a second operational mode in which no humandriver is present in the vehicle. As such, the vehicle must autonomouslynavigate without interaction from the human driver. The autonomousvehicle can include a “drive-by-wire” control system that is configuredto detect the current operational mode of the autonomous vehicle.Moreover, the control system can detect a triggering event associatedwith the autonomous vehicle and respond in accordance with the vehicle'scurrent operational mode. For example, the control system may detect acommunication error that prevents the vehicle control components (e.g.,steering component, braking component) from receiving signals from thevehicle's autonomy system (e.g., configured to plan vehicle motion).Such error can hinder the vehicle's ability to autonomously navigate.Accordingly, the control system can determine one or more actions toaddress the triggering event based at least in part on the operationalmode of the autonomous vehicle. For example, in the event that a humandriver is present in the autonomous vehicle (e.g., operating in thefirst operational mode), the control system can cause the autonomousvehicle to enter into a manual control mode that allows the human driverto manually control the vehicle. In the event that no human driver ispresent in the autonomous vehicle (e.g., operating in the secondoperational mode), the control system can cause the vehicle todecelerate to a stopped position. In this way, the control system can beconfigured to customize the failover response of the autonomous vehiclebased at least in part on the vehicle's operational mode, increasingvehicle and passenger safety.

More particularly, an autonomous vehicle (e.g., a ground-based vehicle)can be configured to operate in a plurality of operational modes. Forexample, an autonomous vehicle can operate in a first operational modein which a human driver (e.g., safety driver) is present in theautonomous vehicle. While in the first operational mode, the autonomousvehicle can be configured to operate in a fully autonomous (e.g.,self-driving) manner in which the autonomous vehicle can drive andnavigate with minimal and/or no interaction from the human driverpresent in the vehicle. Additionally, or alternatively, the autonomousvehicle can operate in a semi-autonomous manner in which the vehicle canoperate with some interaction from the human driver present in thevehicle. In some implementations, the autonomous vehicle can enter intoa manual control mode in which the vehicle is controllable by the humandriver and is prohibited from performing an autonomous navigation (e.g.,autonomous driving). The autonomous vehicle can also operate in a secondoperational mode in which the human driver is not present in theautonomous vehicle. In such a case, the autonomous vehicle can operatein a fully autonomous manner with no human driver interaction. In someimplementations, the operational mode can be set by human interaction(e.g., via a physical interface), as further described herein. In someimplementations, individuals inside the vehicle (e.g., a driver,passengers) may not have the ability to set and/or change the vehiclefrom one operational mode to another. Rather, the operation mode of thevehicle can be set off-board (e.g., from a remote computing deviceassociated with a vehicle owner, vehicle fleet operator, other entity).

The autonomous vehicle can include a vehicle computing system thatimplements a variety of systems on-board the autonomous vehicle. Forinstance, the vehicle computing system can include one or more dataacquisition system(s) (e.g., sensors, image capture devices), one ormore human machine interface system(s) (e.g., physical interfacebuttons, user interfaces displayed via a display device), an autonomysystem (e.g., for planning autonomous navigation), one or more vehiclecontrol components (e.g., for controlling braking, steering,powertrain), etc. The vehicle computing system can also include a“drive-by-wire” control system that can be separate from one or moreother on-board systems (e.g., separate from the autonomy system,separate from the vehicle control components). The control system caninclude one or more computing device(s) configured to perform a varietyof functions to control the failover response of the autonomous vehiclein the event of a vehicle triggering event.

The control system can determine an operational mode of the autonomousvehicle. For example, the control system can receive (e.g., from anothervehicle system) data indicative of the operational mode of theautonomous vehicle. In some implementations, the autonomous vehicle caninclude a physical interface (e.g., adjustable key switch) that isconfigured to mechanically toggle the vehicle between the firstoperational mode (e.g., human driver present) and the second operationalmode (e.g., no human driver present). The control systems can determinethe operational mode of the autonomous vehicle based at least in part onthe position of the physical interface. In some implementations, thepresence of a human driver can be detected based at least in part on achange in a condition associated with the interior of the autonomousvehicle. For instance, the autonomous vehicle can include one or moresensor(s) configured to detect a weight load force of the human driver(e.g., in a driver's seat) and/or whether a seat belt of the humandriver has been securely fastened.

The control system can detect a triggering event associated with theautonomous vehicle. For example, the control system can monitor and/orreceive data indicative of one or more motion control instruction(s)from the vehicle's autonomy system. The control system can detectwhether there has been a communication error, such that the autonomysystem is unable to communicate such signals to the vehicle controlcomponents (and/or the control system itself). Additionally, oralternatively, the triggering event can be associated with a signalprovided by an interface (e.g., mushroom button) on-board the vehicle(e.g., for user initiated requests) and/or provided by a remotecomputing device that is remote from the vehicle (e.g., from a centraloperations control center). The signal can indicate a specific vehicletriggering event (e.g., hardware overheating, memory storage low), thatthe vehicle is to stop moving, that the vehicle is to change operatingstate, etc. In some implementations, the triggering event can include asignal (e.g., a stop motion signal) that is associated with a sensor ofthe vehicle's bumper.

The control system can determine one or more action(s) to be performedby the systems on-board the autonomous vehicle in response to thetriggering event. The action(s) can be based at least in part on whetherthe autonomous vehicle is in the first operational mode (e.g., humandriver present) or the second operational mode (e.g., no human driverpresent). For example, in the event that the human driver is not presentin the autonomous vehicle, the action(s) can include stopping a motionof the vehicle. Such a response can be appropriate when the vehicle isunable to autonomously navigate (e.g., due to a lack of communicabilitywith the autonomy system). As such, the control system can send controlsignal(s) to the vehicle control components (e.g., braking, steering) todecelerate and/or change the direction of the vehicle until the vehiclereaches a stopped position. In the event that a human driver is presentin the autonomous vehicle, the action(s) can include allowing the humandriver to manually control the autonomous vehicle. In such a case, thecontrol system can send control signal(s) to cause the autonomousvehicle to enter into a manual control mode, whereby the vehicle iscontrolled based at least in part on user input from the human driver(e.g., via the steering wheel, foot/hand brake interface, acceleratorinterface).

In some implementations, the control system can reset the autonomousvehicle such that it can continue to autonomously navigate. For example,after performance of the action(s) (e.g., to facilitate stopping, toprovide manual control), the control system can receive data indicatingthat the autonomous vehicle is in a ready state, in which the vehicle isready to return to autonomous navigation (e.g., without interaction fromthe human driver). In some implementations, the control system canreceive the data indicating that the vehicle is ready to return toautonomous navigation from a computing device located onboard thevehicle. For example, such an on-board computing device can be one thatidentified the occurrence of the triggering event (e.g., critical memorystorage error). The on-board computing device can then later identifythat the triggering event has been cleared, addressed, etc. In someimplementations, such data can be provided by a remote computing device(e.g., of an operations computing system) and/or via user input from thehuman driver (e.g., relinquishing control of the vehicle after thetriggering event has been addressed). The control system can sendcontrol signal(s) to one or more of the system(s) on-board theautonomous vehicle (e.g., autonomy system, vehicle control components)to resume autonomous navigation (and motion) of the vehicle.

The system and methods described herein may provide a number oftechnical effects and benefits. For instance, the vehicle's controlsystem can locally (e.g., on-board the vehicle) detect a triggeringevent and tailor the failover response to the operational mode of thevehicle. This can help the vehicle computing system to avoid potentialmode confusion as well as to avoid implementing an inappropriatefailover response. Moreover, the autonomous vehicle can appropriatelyrespond to a triggering event (e.g., given the vehicle's mode) withoutrelying on a computing system that is remote from the vehicle (e.g., acentral operations system). This can allow the autonomous vehicle toavoid potential latency issues that can arise when communicating withremote computing devices (e.g., due to poor network connectivity, dataupload/download). The autonomous vehicle can also avoid potentiallatency issues that can arise from remote computing device(s) processingmultiple vehicle triggering event diagnostic requests (e.g., in theorder they are received). By reducing the vehicle computing system'sreliance on remote computing devices, the systems and methods of thepresent disclosure can reduce stress on the vehicle's communicationinterfaces, bandwidth usage, network traffic, etc.

Furthermore, by determining a failover response on-board the autonomousvehicle, the systems and methods of the present disclosure can limit theallocation of processing and storage resources of a central operationscomputing system that are required for such analysis. The savedresources can be allocated to other functions of the operationscomputing systems, such as the processing of service requests, vehiclerouting, etc. In this way, the systems and methods according to exampleaspects of the present disclosure have a technical effect of providing acomputationally efficient approach to controlling a failover response ofan autonomous vehicle while saving computational resources for otherfunctions.

The systems and methods of the present disclosure also provide animprovement to vehicle computing technology, such as autonomous vehiclecomputing technology. For instance, the systems and methods hereinenable the vehicle technology to locally detect and appropriatelyrespond to triggering events associated with the autonomous vehicle. Forexample, the systems and methods can allow one or more computingdevice(s) (e.g., of a control system) on-board an autonomous vehicle todetermine an operational mode of the autonomous vehicle. As describedherein, the autonomous vehicle can be configured to operate in at leasta first operational mode in which a human driver is present in theautonomous vehicle and a second operational mode in which the humandriver is not present in the autonomous vehicle. The computing device(s)can detect a triggering event associated with the autonomous vehicle.The computing device(s) can determine one or more action(s) to beperformed by one or more system(s) on-board the autonomous vehicle inresponse to the triggering event. Particularly, the one or moreaction(s) can be based at least in part on whether the autonomousvehicle is in the first operational mode or the second operational mode.The computing devices can provide one or more control signal(s) to oneor more of the system(s) on-board the autonomous vehicle to perform theaction(s). In this way, the computing device(s) can tailor the failoverresponse of the vehicle based at least in part on the operational modeof the vehicle (e.g., whether a human driver is present). This can allowthe computing device(s) to more accurately determine the correctresponse to a triggering event, increasing vehicle and passenger safety.

Moreover, the computing device(s) can be included in a control systemthat is separate and apart from the other systems on-board theautonomous vehicle (e.g., autonomy system, vehicle control component).As such, the control system can include a simplified hardwarearchitecture that is easier to upgrade, implement mode/redundancychecks, etc. This can also allow the computing device(s) to focus itscomputational resources on the task of triggering event detection andresponse determination, rather than allocating its resources to performother vehicle functions (e.g., autonomous motion planning, motion planimplementation). Such use of resources can allow the computing device(s)to provide a more efficient, reliable, and accurate response to thedetection of a vehicle triggering event. Additionally, the other systemson-board the autonomous vehicle can focus on their core functions,rather than allocating resources to the functions of the control system.Thus, the systems and methods of the present disclosure can save thecomputational resources of these other vehicle systems, while furtherincreasing performance of the control system.

With reference now to the FIGS., example embodiments of the presentdisclosure will be discussed in further detail. FIG. 1 depicts anexample system 100 according to example embodiments of the presentdisclosure. The system 100 can include a vehicle 102 and one or moreremote computing device(s) 104. The remote computing device(s) 104 canbe associated with a vehicle owner, a fleet operator, maintenance and/ormonitoring entity, a central operations computing system, and/or anotherentity that is associated with the vehicle 102. Additionally, oralternatively, the entity can be a service provider that provides one ormore vehicle service(s) to a plurality of users via a fleet of vehiclesthat includes, for example, the vehicle 102. The vehicle service(s) caninclude transportation services (e.g., rideshare services), courierservices, delivery services, and/or other types of services. The vehicleservice(s) can transport and/or deliver passengers as well as items suchas but not limited to food, animals, freight, purchased goods, etc.

The remote computing device(s) 104 can include multiple components forperforming various operations and functions. For example, the remotecomputing device(s) 104 can include and/or otherwise be associated withone or more computing device(s) that are remote from the vehicle 102.The one or more computing device(s) can include one or more processor(s)and one or more memory device(s). The one or more memory device(s) canstore instructions that when executed by the one or more processor(s)cause the one or more processor(s) to perform operations and functions(e.g., for monitoring, communicating with the vehicle 102).

The remote computing device(s) 104 can communicate with the vehicle 102via one or more communications network(s) 105. The communicationsnetwork(s) 105 can include various wired and/or wireless communicationmechanisms (e.g., cellular, wireless, satellite, microwave, and radiofrequency) and/or any desired network topology (or topologies). Forexample, the communications network(s) 105 can include a local areanetwork (e.g. intranet), wide area network (e.g. Internet), wireless LANnetwork (e.g., via Wi-Fi), cellular network, a SATCOM network, VHFnetwork, a HF network, a WiMAX based network, and/or any other suitablecommunications network (or combination thereof) for transmitting data toand/or from the vehicle 102.

The vehicle 102 can be a ground-based vehicle (e.g., an automobile,truck, bus), an aircraft, and/or another type of vehicle. The vehicle102 can be an autonomous vehicle that can drive, navigate, operate, etc.with minimal and/or no interaction from a human driver. The vehicle 102can be configured to operate in a plurality of operational modes 106A-B.For example, the plurality of operational modes can include a firstoperational mode 106A in which a human driver 107 (e.g., safety driver)is present in the vehicle 102. While in the first operational mode 106A,the vehicle 102 can be configured to operate in a semi-autonomous mannerin which the vehicle 102 can operate with some interaction from thehuman driver 107 present in the vehicle 102 (e.g., toggling betweenfully autonomous navigation and allowing for at least some manualcontrol of the vehicle 102). Additionally, or alternatively, while inthe first operational mode 106A, the vehicle 102 can operate in fullyautonomous (e.g., self-driving) manner in which the vehicle 102 candrive and navigate with minimal and/or no interaction from the humandriver 107 present in the vehicle 102. In some implementations, thevehicle 102 can enter into a manual control mode in which the vehicle102 is controllable by the human driver and is prohibited fromperforming an autonomous navigation (e.g., prohibited from autonomousdriving).

The plurality of operational modes can also include a second operationalmode 106B in which the human driver 107 is not present in the vehicle102. While in the second operational mode 106B, the vehicle 102 canoperate in a fully autonomous manner with no human driver present in thevehicle.

The operational modes 106A-B of the vehicle 102 can be set with and/orwithout interaction from a human present in the vehicle 102. Forexample, in some implementations, the operational mode 106A-B can be setby human interaction (e.g., via a physical interface), as furtherdescribed herein. In some implementations, individuals inside thevehicle (e.g., a driver, passengers) may not have the ability to changethe vehicle 102 from one operational mode to another. Rather, theoperational mode of the vehicle 102 can be set off-board (e.g., from aremote computing device 104 associated with a vehicle owner, vehiclefleet operator, other entity).

The vehicle 102 can include a vehicle computing system 108 thatimplements a variety of systems on-board the vehicle 102. The vehiclecomputing system 108 can include one or more computing device(s) forimplementing the systems. For instance, the vehicle computing system caninclude a communications system 110, one or more human machine interfacesystem(s) 112, one or more data acquisition system(s) 114, an autonomysystem 116, one or more vehicle control component(s) 118, and a“drive-by-wire” control system 120. One or more of these system(s) canbe configured to communicate with one another via a communicationchannel. The communication channel can include one or more data bus(es)(e.g., controller area network (CAN), on-board diagnostics connector(e.g., OBD-II), and/or a combination of wired and/or wirelesscommunication links). The on-board systems can send and/or receive data,messages, signals, etc. amongst one another via the communicationchannel.

The communications system 110 can be configured to allow the vehiclecomputing system 108 (and its sub-systems) to communicate with othercomputing devices. For example, the vehicle computing system 108 can usethe communications system 110 to communicate with the remote computingdevice(s) 104 over the network(s) 105 (e.g., via one or more wirelesssignal connections). The communications system 110 can include anysuitable components for interfacing with one or more network(s),including for example, transmitters, receivers, ports, controllers,antennas, or other suitable components that can help facilitatecommunication with one or more remote computing device(s) that areremote from the vehicle 102.

The human machine interface system(s) 112 can be configured to allowinteraction between a user (e.g., human) and the vehicle 102 (e.g., thevehicle computing system 108). The human machine interface system(s) 112can include a variety of interfaces for the user to input and/or receiveinformation from the vehicle computing system 108. The human machineinterface system(s) 112 can include one or more input device(s) (e.g.,touchscreens, keypad, touchpad, knobs, buttons, sliders, switches,mouse, gyroscope, microphone, other hardware interfaces) configured toreceive user input. The human machine interface system(s) 112 caninclude a user interface (e.g., graphical user interface, conversationaland/or voice interfaces, chatter robot, gesture interface, otherinterface types) for receiving user input. The human machineinterface(s) 112 can also include one or more output device(s) (e.g.,display devices, speakers, lights) to output data associated with theinterfaces.

In some implementations, human machine interface system(s) 112 caninclude an interface configured to adjust the operational mode 106A-B ofthe vehicle 102. For example, the vehicle 102 can include an interface,such as a physical interface (e.g., adjustable key switch), that isadjustable between a first position and a second position. Adjustment ofthis interface can change the operational mode of the vehicle 102. Forexample, the vehicle 102 can be configured to operate in the firstoperational mode 106A (e.g., human driver present) when the interface isin the first position. The vehicle 102 can be configured to operate inthe second operational mode 106B (e.g., no human driver present) whenthe interface is in the second position. In some implementations, thevehicle 102 can include an indicator that is configured to display orotherwise communicate the current operational mode of the vehicle 102,such as via an output device provided as part of human machineinterface(s) 112.

The vehicle 102 can also be configured to enter into a ready state. Theready state can indicate that the vehicle 102 is ready to operate(and/or return to) an autonomous navigation mode. For example, in theevent that a human driver 107 is present in the vehicle 102, the humandriver 107 may indicate (e.g., via interaction with an interface) thatthe vehicle 102 is ready to operate in an autonomous navigation mode.Additionally, or alternatively, a computing device on-board the vehicle102 can be configured to determine whether the vehicle 102 is in theready state. In some implementations, a remote computing device 104(e.g., associated with an operations control center) can indicate thatthe vehicle 102 is ready to begin and/or resume autonomous navigation.

The data acquisition system(s) 114 can include various devicesconfigured to acquire data associated with the vehicle 102. This caninclude data associated with one or more of the vehicle's system(s)(e.g., health data), the vehicle's interior, the vehicle's exterior, thevehicle's surroundings, the vehicle users (e.g., driver, passenger),etc. The data acquisition system(s) 114 can include, for example, one ormore image capture device(s) 122. The image capture device(s) 122 caninclude one or more camera(s), light detection and ranging (or radar)device(s) (LIDAR systems), two-dimensional image capture devices,three-dimensional image capture devices, static image capture devices,dynamic (e.g., rotating) image capture devices, video capture devices(e.g., video recorders), lane detectors, scanners, optical readers,electric eyes, and/or other suitable types of image capture devices. Theimage capture device(s) 122 can be located in the interior and/or on theexterior of the vehicle 102. The one or more image capture device(s) 122can be configured to acquire image data to be used for operation of thevehicle 102, for example, in an autonomous mode.

Additionally, or alternatively, the data acquisition systems 114 caninclude one or more sensor(s) 124. The sensor(s) 124 can include impactsensors, motion sensors, pressure sensors, temperature sensors, humiditysensors, RADAR, sonar, radios, medium-range and long-range sensors(e.g., for obtaining information associated with the vehicle'ssurroundings), global positioning system (GPS) equipment, proximitysensors, and/or any other types of sensors for obtaining data associatedwith the vehicle 102. The data acquisition systems 114 can include oneor more sensor(s) 124 dedicated to obtaining data associated with aparticular aspect of the vehicle 102, such as, the vehicle's fuel tank,engine, oil compartment, wipers, etc. The sensor(s) 124 can also, oralternatively, include sensor(s) associated with one or more mechanicaland/or electrical components of the vehicle 102. For example, one ormore of the sensor(s) 124 can be configured to detect whether a vehicledoor, is in an open or closed position, the vehicle's available datastorage, the vehicle's charge level, etc.

One or more of the sensor(s) 124 can be configured to detect a change ina condition associated with the interior of the vehicle 102. Forexample, a sensor can be configured to detect a weight load in adriver's seat of the vehicle 102. Additionally or alternatively, asensor can be configured to detect the position of a seat beltassociated with the driver seat (e.g., whether the buckle is in afastened position or an unfastened position). In this way, the sensorcan be configured to collect data indicative of the whether a humandriver 107 is present in the vehicle 102.

In addition to the data acquired via the data acquisition system(s) 114,the vehicle computing system 108 can also be configured to obtain mapdata. For instance, a computing device of the vehicle 102 (e.g., withinthe autonomy system 116) can be configured to receive map data from oneor more remote computing device(s). The map data can provide informationregarding: the identity and location of different roadways, roadsegments, buildings, or other items; the location and directions oftraffic lanes (e.g., the boundaries, location, direction, etc. of aparking lane, a turning lane, a bicycle lane, or other lanes within aparticular travel way); traffic control data (e.g., the location andinstructions of signage, traffic lights, or other traffic controldevices); and/or any other map data that provides information thatassists the computing system in comprehending and perceiving itssurrounding environment and its relationship thereto.

The autonomy system 116 can be configured to control the operation ofthe vehicle 102 (e.g., to operate autonomously). For instance, theautonomy system 116 can obtain the data associated with the vehicle 102(e.g., acquired by the data acquisition system(s) 114) and/or the mapdata. The autonomy system 116 can control various functions of thevehicle 102 based, at least in part, on the acquired data associatedwith the vehicle 102 and/or the map data. For example, the autonomysystem 116 can include various models to perceive road features,signage, and/or objects (e.g., other vehicles, bikes, people, animals,etc.) based on the data acquired by the data acquisition system(s) 114,map data, and/or other data. The autonomy system 116 can be configuredto predict the position and/or movement (or lack thereof) of suchelements. The autonomy system 116 can be configured to plan the motionof the vehicle 102 based, at least in part, on such predictions.

The autonomy system 116 can implement the planned motion toappropriately navigate the vehicle 102 with minimal or no humanintervention. For instance, the autonomy system 116 can determine aposition and/or route for the vehicle 102 in real-time and/or nearreal-time. For instance, using acquired data, the autonomy system 116can calculate one or more different potential vehicle routes (e.g.,every fraction of a second). The autonomy system 116 can then selectwhich route to take and cause the vehicle 102 to navigate accordingly.By way of example, the autonomy system 116 can calculate one or moredifferent straight path(s) (e.g., including some in different parts of acurrent lane), one or more lane-change path(s), one or more turningpath(s), and/or one or more stopping path(s). The vehicle 102 can selecta path based, at last in part, based on an optimization algorithm thatconsiders the costs of potential vehicle movements and seeks todetermine optimized variables that make up the motion plan. Onceselected, the autonomy system 116 can cause the vehicle 102 to travelaccording to the selected path by sending one or more control signals tothe one or more vehicle control component(s) 118.

The vehicle control component(s) 118 can be configured to control themotion of the vehicle 102. For example, vehicle control component(s) 118can include a steering component configured to control the headingand/or direction of the vehicle 102. Moreover, the vehicle controlcomponent(s) 118 can include a braking component configured to controlthe braking of the vehicle 102. The vehicle control component(s) 118 caninclude other components, such as an acceleration component configuredto control the acceleration of the vehicle 102, a gear-shift componentconfigured to control the gears of the vehicle 102, and/or othercomponents (e.g., such as those associated with the vehicle'spowertrain). The vehicle control components(s) 118 can be configured toreceive signals indicating the planned motion of the vehicle 102 andcontrol the vehicle 102 accordingly. Signals for controlling the vehiclecontrol component(s) 118 in accordance with a motion plan can include,for example, signals turning one or more vehicle control component(s)118 on and/or off, signals indicating a pedal position and/or pedalangle of an acceleration component and/or braking component, and/orsignals indicating a position and/or angle of a steering component.

The control system 120 can be configured to control the failoverresponse of the vehicle 102 in the event of a vehicle triggering event.In some implementations, the control system 120 can be separate from oneor more of the other on-board system(s). For example, the control systemcan be separate from the autonomy system 116 and/or separate from thevehicle control component(s) 118. In other implementations, the controlsystem 120 can be integrated as part of one or more other on-boardsystems and/or computing devices. The control system 120 can include oneor more computing device(s) (e.g., one or more microcontroller(s)). Thecomputing device(s) can include one or more processor(s) and one or morememory devices (e.g., all on-board the vehicle 102). The one or morememory device(s) can store instructions that when executed by the one ormore processor(s) cause the one or more processor(s) to performoperations, such as those for controlling the failover response of thevehicle 102, as described herein.

FIG. 2 depicts the control system 120 for controlling a failoverresponse of a vehicle according to example embodiments of the presentdisclosure. As shown, the control system 120 can be configured as anintermediary between the autonomy system 116 and the vehicle controlcomponent(s) 118. For example, the control system 120 can be configuredsuch that the control system 120 receives and/or monitors any data(and/or other communications) provided by the autonomy system 116 (e.g.,including motion plan instructions) before the vehicle controlcomponent(s) 118 obtains such data and/or communications.

In some implementations, the autonomy system 116 can provide dataindicative of a motion plan to a mobility controller 202. The mobilitycontroller 202 can be configured to translate the motion plan intoinstructions. By way of example, the mobility controller 202 cantranslate a determined motion plan into instructions to adjust thesteering of the vehicle 102 “X” degrees, apply 10% braking force, etc.The control system 120 can be configured to receive such instructionsfrom the mobility controller 202 and generate control signals (e.g.,indicative of the instructions) for the vehicle control components 118.In this way, communications that would affect the motion of the vehicle102 can first go through and/or be monitored by the control system 120.

The control system 120 can include one or more computing device(s) 204that are configured to control the failover response of the vehicle 102.For instance, the computing device(s) 204 can be configured to determinean operational mode 106A-B of the vehicle 102. The computing device(s)204 can be configured to determine the operational mode 106A-B of thevehicle 102 based, at least in part, on data obtained via anothervehicle component and/or computing device. By way of example, asdescribed herein, the vehicle 102 (e.g., the human machine interfacesystem(s) 112) can include a physical interface 206 (e.g., physicalswitch interface, touchscreen) that is adjustable between a firstposition and a second position to toggle the vehicle 102 between thefirst operational mode 106A (e.g., human driver (HD) present) and thesecond operational mode 106B (e.g., no human driver (NHD) present). Thecomputing device(s) 204 can receive data 208 indicative of a positionassociated with the physical interface 206 on-board the vehicle 102. Forexample, the data 208 can indicate that the physical interface 206 is inthe first position and, thus, the vehicle 102 is to operate in the firstoperational mode 106A. Alternatively, the data 208 can indicate that thephysical interface 206 is in the second position and, thus, the vehicle102 is to operate in the second operational mode 106B.

In some implementations, the computing device(s) 204 can determinewhether the vehicle 102 is the first operational mode 106A or the secondoperational mode 106B based at least in part on data 210 provided by thesensor(s) 124. The data 210 can be indicative of the presence of thehuman driver 107 in the vehicle 102. The presence of the human driver107 can be detectable based at least in part on a change in a conditionassociated with the vehicle 102 (e.g., the interior of the vehicle 102).For example, the condition associated with the vehicle 102 can includeat least one of a weight load in a driver's seat of the autonomousvehicle and/or a position of a seat belt associated with the driver'sseat. The sensor(s) 124 can be configured to detect a weight load in adriver's seat of the vehicle and/or a position of a seat belt associatedwith the driver's seat (e.g., which would be utilized by the humandriver). In the event that a sufficient weight load is detected in thedriver's seat and/or the seat belt of the driver's seat is in a fastenedposition, the sensor(s) 124 can send data 210 indicative of suchconditions (and/or indicative of the human driver presence) to thecomputing device(s) 204. The computing device(s) 204 can determine thatthe vehicle 102 is to operate in the first operational mode 106A basedat least in part on the data 210 (e.g., indicative of the change incondition, human driver presence). In the event that no weight load (ora nominal, insufficient weight load) is detected in the driver's seatand/or the seat belt of the driver's seat is in an unfastened position,the sensor(s) 124 can send data 210 indicative of such conditions(and/or indicative of no human driver presence) to the computingdevice(s) 204. In such a case, the computing device(s) 204 can determinethat the vehicle 102 is to operate in the second operational mode 106Bbased at least in part on the data 210.

The computing device(s) 204 of the control system 120 can detect atriggering event 212 associated with the vehicle 102. In someimplementations, the triggering event 212 can be a defect associatedwith a communicability between the computing device(s) 204 and anothersystem of the vehicle 102. For example, the triggering event 212 can beassociated with a lack of communicability with the autonomy system 116of the vehicle 102. For instance, as described, the computing device(s)204 can monitor and/or receive data indicative of motion controlinstruction(s) from the autonomy system 116 (and/or the mobilitycontroller 202). The computing device(s) 204 can detect whether therehas been a communication error, such that the autonomy system 116(and/or the mobility controller 202) is unable to communicate with thevehicle control component(s) 118 (and/or the control system 120) toimplement a motion plan. Such a triggering event can hinder the abilityof the vehicle 102 to autonomously navigate. In some implementations,the triggering event 212 can include a signal (e.g., a stop motionsignal) that is associated with an external motion detection system(e.g., detected objects at the rear, front bumper) of the vehicle 102.

In some implementations, the triggering event 212 can be associated witha user-initiated request (e.g., for manual control, to stop the vehicle102). By way of example, as described herein, the vehicle 102 (e.g., thehuman machine interface system(s) 112) can include one or moreinterface(s) on-board the vehicle 102. At least one of the interface(s)(e.g., a mushroom button interface) can be configured to allow a humandriver 107 to indicate that a triggering event has occurred with thevehicle 102 and/or that the vehicle 102 should be adjusted into themanual control mode to allow the human driver 107 manual control of thevehicle 102. Additionally, or alternatively, at least one of theinterface(s) can allow a passenger to indicate the occurrence of atriggering event (and/or a passenger request to stop the vehicle 102).The computing device(s) 204 can receive data indicative of theuser-initiated request (e.g., activation of the mushroom button) todetermine the existence of a triggering event 212.

In some implementations, the triggering event 212 can be associated witha computing device that is remote from the vehicle 102. By way ofexample, as described herein, a remote computing device(s) 104 canmonitor one or more parameter(s) of the vehicle 102 and communicate withthe vehicle 102 (e.g., via network(s) 105). In some implementations, theremote computing device(s) 104 (e.g., of a central operations controlcenter) can provide data 216 indicative of a specific vehicle triggeringevent (e.g., hardware overheating, memory storage low) that may havebeen remotely identified. In some implementations, the data 216 canindicate that the vehicle 102 is to stop moving (e.g., based on atriggering event, based on a travel condition). In some implementations,the data 216 can indicate that the vehicle 102 is to change operationalcontrol (e.g., from autonomous navigation to a manual control mode). Thecomputing device(s) 204 can receive the data 216 provided by the remotecomputing device 104.

The computing device(s) 204 can be configured to determine one or moreaction(s) to be performed by one or more system(s) on-board the vehicle102 in response to the detection of the triggering event 212. The one ormore action(s) can be based at least in part on whether the vehicle 102is in the first operational mode 106A or the second operational mode106B (e.g., whether the human driver 107 is present in the vehicle 102).The computing device(s) 204 can be configured to provide one or morecontrol signal(s) 218 to one or more system(s) on-board the vehicle 102(e.g., the vehicle control component(s) 118) to perform the one or moreaction(s).

For example, the vehicle 102 can be in the first operational mode 106Ain which the human driver 107 is present in the vehicle 102. One or moreof the action(s) can include allowing the human driver 107 to manuallycontrol the vehicle 102. The computing device(s) 204 of the controlsystem 120 can send one or more control signal(s) to cause the vehicle102 to enter into the manual control mode whereby the vehicle controlcomponent(s) 118 operate based at least in part on manual user inputsprovided by the human driver 107 (e.g., to the steering wheel, brake,accelerator). In this way, in the event that a triggering event 212occurs while a human driver 107 is present, the control system 120 cancontrol the failover response of the vehicle 102 to allow the humandriver 107 to manually control (e.g., navigate) the vehicle 102.

The failover response of the vehicle 102 can be different in the eventthat no human driver 107 is present in the vehicle 102. For instance,the vehicle 102 can be in the second operational mode 106B in which thehuman driver 107 is not present in the vehicle 102. The one or moreaction(s) determined by the computing device(s) 204 can include stoppinga motion of the vehicle 102 (e.g., represented by motion vector 220).For example, the one or more action(s) can include at least one of adeceleration of the vehicle 102 via a braking component 222 and anadjustment of the heading of the vehicle 102 via a steering component224. To cause the deceleration, the computing device(s) 204 can provideone or more control signal(s) 218 to the braking component 222 todecelerate the vehicle 102 to a stopped position. To cause adjustment ofthe steering component 224, the computing device(s) 204 can send controlsignal(s) 218 to maintain the last known good motion command from theautonomy system 116 (and/or the mobility controller 202) and/or toneutral a vehicle throttle. In some implementations (e.g., when thetriggering event 212 is not associated with a lack of communicabilitywith the autonomy system 116), the computing device(s) 204 can helpsteer the vehicle by continuing to provide control signal(s) 218 thatare indicative of the control instructions that are received from theautonomy system 116 (and/or the mobility controller 202). Accordingly,the computing device(s) 204 can safely bring the vehicle 102 to a safeposition without the presence of a human driver 107.

The computing device(s) 204 can be configured to reset the vehicle 102such that it can continue to autonomously navigate (e.g., after actingin response to a triggering event). For example, after performance ofthe one or more action(s) (e.g., to facilitate stopping, to providemanual control), the computing device(s) 204 can receive data 226indicating that the vehicle 102 is in a ready state, in which thevehicle 102 is ready to return to autonomous navigation (e.g., withoutinteraction from the human driver). In some implementations, thecomputing device(s) 204 can receive the data 226 indicating that thevehicle 102 is ready to return to an autonomous navigation mode from acomputing device located onboard the vehicle 102. For example, such anon-board computing device can be one that identified the occurrence ofthe triggering event 212 (e.g., critical memory storage error). Theon-board computing device can then later identify that the triggeringevent 212 has been cleared, addressed, etc. (e.g., additional storageavailable). In some implementations, the data 226 can be provided by aremote computing device 104 (e.g., of an operations computing systemmonitoring the vehicle 102). In some implementations, the data 226 canbe provided via the human machine interface system(s) 112. For example,the human driver 107 can provide user input to an interface (e.g.,physical interface, graphical user interface) relinquishing control ofthe vehicle 102 after the triggering event 212 has been addressed. Thecomputing device(s) 104 can send one or more other control signal(s) 228to one or more of the system(s) on-board the vehicle 102 (e.g., autonomysystem 116, vehicle control component(s) 118) to autonomously navigatethe vehicle 102, without interaction from the human driver 107.

FIG. 3 depicts a flow diagram of an example method 300 of controlling afailover response of a vehicle according to example embodiments of thepresent disclosure. One or more portion(s) of the method 300 can beimplemented by one or more computing device(s) such as, for example, thecomputing device(s) 204 shown in FIG. 2 and 502 as shown in FIG. 6.Moreover, one or more portion(s) of the method 300 can be implemented asan algorithm on the hardware components of the device(s) describedherein (e.g., as in FIGS. 2 and 5) to, for example, control a failoverresponse of the vehicle 102. FIG. 3 depicts elements performed in aparticular order for purposes of illustration and discussion. Those ofordinary skill in the art, using the disclosures provided herein, willunderstand that the elements of any of the methods (e.g., of FIGS. 3-5)discussed herein can be adapted, rearranged, expanded, omitted,combined, and/or modified in various ways without deviating from thescope of the present disclosure.

At (302), the method 300 can include determining an operational mode ofa vehicle. For instance, the computing device(s) 204 on-board thevehicle 102 (e.g., autonomous vehicle) can determine an operational mode106A-B of the vehicle 102. For example, the vehicle 102 can beconfigured to operate in at least a first operational mode 106A in whicha human driver 107 is present in the vehicle 102. The vehicle 102 can beconfigured to operate in at least a second operational mode 106B inwhich the human driver 107 is not present in the vehicle 102. In eitheroperational mode, the vehicle 102 can be configured to autonomouslynavigate without interaction from the human driver 107.

As described herein, the computing device(s) 204 can determine theoperational mode 106A-B of the vehicle 102 via communication withanother computing device (e.g., on-board, remote from the vehicle). Forexample, the computing device(s) 204 can receive data 208 indicative ofa position associated with an interface 206 on-board the vehicle 102.The vehicle 102 can operate in the first operational mode 106A when theinterface 206 is in a first position and/or first state. The vehicle 102can operate in the second operational mode 106B when the interface 206is in a second position and/or second state. For example, the interface206 can be a physical interface (e.g., physical switch interface) thatis adjustable between the first position and the second position.Additionally, and/or alternatively, the computing device(s) 204 candetermine whether the vehicle 102 is the first operational mode 106A orthe second operational mode 106B based at least in part on data 210indicative of the presence of the human driver 107 in the vehicle 102,as described herein.

FIG. 4 depicts a flow diagram of an example method 350 of determining anoperational mode of a vehicle according to example embodiments of thepresent disclosure. One or more portion(s) of the method 350 can beimplemented by one or more computing device(s) such as, for example, thecomputing device(s) 204 shown in FIG. 2 and 502 as shown in FIG. 6.Moreover, one or more portion(s) of the method 350 can be implemented asan algorithm on the hardware components of the device(s) describedherein (e.g., as in FIGS. 2 and 6). FIG. 4 depicts elements performed ina particular order for purposes of illustration and discussion.

At (352), the method 350 can include determining a position of aninterface. For instance, the computing device(s) 204 can receive data208 indicative of a position associated with an interface 206 on-boardthe vehicle 102. The computing device(s) 204 can determine the positionof the interface 206 based at least in part on the data 208. Forexample, in the event that the interface 206 is in a first positionand/or first state, the vehicle 102 can be set to operate in the firstoperational mode 106A (e.g., with a human driver present). In the eventthat the interface 206 is in a second position and/or first state, thevehicle 102 can be set to operate in the second operational mode 106B(e.g., without a human driver present).

At (354), the method 350 can include detecting a condition associatedwith the interior of the vehicle. The computing device(s) 204 canreceive data associated with the condition(s) of the interior of thevehicle 102 (e.g., from the sensor(s) 124). For example, the computingdevice(s) 204 can determine that a weight load is present in thedriver's seat of the autonomous vehicle based at least in part on thedata from the sensor(s) 124. Additionally, or alternatively, thecomputing device(s) 204 can determine whether a seat belt associatedwith the driver seat is in a fastened position based at least in part onthe data from the sensor(s) 124. In some implementations, the conditioncan include a temperature change, a humidity change, a noise levelchange, etc.

At (356), the method 350 can include determining an operational mode ofthe vehicle. For instance, the computing device(s) 204 can determine anoperational mode 106A-B of the vehicle 102 based at least in part on oneor more of the factor(s) associated with the vehicle 102, as determinedat (352) and/or (354). By way of example, the computing device(s) 204can determine whether the vehicle 102 is in a first operational mode106A (e.g., in which a human driver is present) or a second operationalmode (e.g., in which no human driver is present) based at least in parton the interface 206 (e.g., the position/state of the interface) and/orone or more condition(s) associated with the vehicle 102 (e.g., theinterior of the vehicle).

Returning to FIG. 3, at (304), the method 300 can include detecting atriggering event associated with the vehicle. For instance, computingdevice(s) 204 can detect a triggering event 212 associated with thevehicle 102. By way of example, the triggering event 212 can include adefect associated with a communicability between the one or morecomputing device(s) 204 and another system of the vehicle 102 (e.g., theautonomy system 116, the mobility controller 202). Additionally, oralternatively, the triggering event 212 can be associated with at leastone of a user-initiated request and a computing device 104 that isremote from the vehicle 102, as described herein.

At (306), the method can include determining one or more action(s) basedat least in part on the triggering event. For instance, the computingdevice(s) 204 can determine one or more action(s) to be performed by oneor more system(s) on-board the vehicle 102 in response to the triggeringevent 212. The one or more action(s) can be based at least in part onwhether the vehicle 102 is in the first operational mode 106A or thesecond operational mode 106B. For example, in the event that the vehicle102 is in the first operational mode 106A in which the human driver 107is present in the vehicle 102, one or more of the action(s) can includeallowing the human driver 107 manual control of the vehicle 102. In theevent that the vehicle 102 is in the second operational mode 106B inwhich the human driver 107 is not present in the vehicle 102, one ormore of the action(s) can include stopping a motion of the vehicle 102.The computing device(s) 204 can provide one or more control signal(s) toone or more of the system(s) on-board the autonomous vehicle to performthe one or more action(s) in response to the triggering event, at (308).

At (310), the method can include resetting the operation of the vehicle.For instance, the computing device(s) 204 can receive (e.g., afterperformance of the one or more action(s)), data 226 indicating that thevehicle 102 is in a ready state and is ready to autonomously navigatewithout interaction from the human driver 107. The data 226 can beprovided by a computing device on-board the vehicle 102, a computingdevice that is remote from the vehicle 102, and/or via user input (e.g.,from the human driver 107). The computing device(s) 204 can send one ormore other control signal(s) to one or more of the system(s) on-boardthe vehicle 102 (e.g., the autonomy system 116, the vehicle controlcomponent(s) 118) to allow the vehicle 102 to resume motion of thevehicle 102 (e.g., autonomous navigation) without interaction from ahuman driver 107.

FIG. 5 depicts a diagram 400 of example vehicle states according toexample embodiments of the present disclosure. One or more portion(s) ofthe FIG. 5 can be implemented by one or more computing device(s) suchas, for example, the computing device(s) 204 and/or control system 120described herein. Moreover, one or more portion(s) of the FIG. 5 can beimplemented as an algorithm on the hardware components of the device(s)described herein (e.g., as in FIGS. 2 and 6). FIG. 5 depicts elementsperformed in a particular order for purposes of illustration anddiscussion. Those of ordinary skill in the art, using the disclosuresprovided herein, will understand that the elements of any of the methodsdiscussed herein can be adapted, rearranged, expanded, omitted,combined, and/or modified in various ways without deviating from thescope of the present disclosure.

At (404), the vehicle 102 can be in an initial state in which thevehicle 102 is operating with or without the presence of a human driver107. The computing device(s) 204 can determine the failover response ofthe vehicle 102 based at least in part on a triggering event (e.g., userinitiated request via a mushroom button interface) associated with thevehicle 102. The failover response can be based at least in part onwhether a human driver 107 is present in the vehicle 102. For example,in the event that a human driver 107 is present in the vehicle 102(e.g., as indicated by a physical switch interface) when the triggeringevent is detected, the computing device(s) 204 can cause the vehicle 102to enter into a manual control mode allowing the human driver 107 manualcontrol of the vehicle 102, at (406).

The computing device(s) 204 can determine and/or receive data 226indicating that the triggering event has been addressed, cleared,remedied, etc. As such, the vehicle 102 can enter into a ready state at(408), indicating that the vehicle 102 is ready to return to (or tobegin) autonomous navigation (e.g., without human intervention). In someimplementations, the computing device(s) 204 can perform one or morecheck procedure(s) before the vehicle 102 enters into the ready state at(408). For example, the computing device(s) 204 can determine whetherthe human driver's seat belt is fastened, whether all the vehicle doorsare closed, whether any interfaces (e.g., physical, soft buttons)requesting manual control are engaged, etc. In the event that anothertriggering event is detected, and/or any of the check procedure(s) fail,the vehicle 102 can return to the manual control mode, at (406).Otherwise, the vehicle 102 can proceed to an autonomous navigation modein which the vehicle 102 can navigate without interaction from the humandriver 107 (e.g., despite his/her presence in the vehicle), at (410). Insome implementations, the human driver 107 can engage with a humanmachine interface system 112 to cause the vehicle 102 to resumeautonomous navigation at (410) from the ready state at (408). In someimplementations, a remote computing device 104 can send a signal to thevehicle 102 to cause the vehicle 102 to resume autonomous navigation at(410) from the ready state at (408). If a triggering event is detectedwhile the vehicle 102 is in an autonomous navigation mode, at (410), anda human driver 107 is present in the vehicle 102, the vehicle 102 canreturn to the manual control mode, at (406).

Additionally, or alternatively, in the event that a human driver 107 isnot present in the vehicle 102 (e.g., as indicated by a physical switchinterface) when the triggering event is detected, the computingdevice(s) 204 can stop the vehicle 102 (e.g., provide control signals tocause the vehicle 102 to decelerate to a stopped position), at (412).After the triggering event has been addressed, cleared, remedied, etc.,the vehicle 102 can enter into a ready state at (414), indicating thatthe vehicle 102 is ready to return to (or to begin) autonomousnavigation (e.g., without a human driver present). In someimplementations, the computing device(s) 204 can perform one or morecheck procedures before the vehicle 102 enters into the ready state at(414). For example, the computing device(s) 204 can determine whetherall the vehicle doors are closed, whether an interface (e.g., physical,soft buttons) requesting manual control are engaged, etc. In the eventthat another triggering event is detected, and/or any of the checkprocedures fail, the vehicle 102 can return to a stopped mode, at (412).Otherwise, the vehicle 102 can return to an autonomous navigation modein which the vehicle 102 can navigate without the human driver 107present in the vehicle 102, at (416). In some implementations, acomputing device on-board the vehicle 102 can determine whether thevehicle 102 is to resume or begin autonomous navigation. In someimplementations, a remote computing device 104 can send a signal to thevehicle 102 to cause the vehicle 102 to resume autonomous navigation at(416) from the ready state at (414). If a triggering event is detectedwhile the vehicle 102 is in an autonomous navigation mode, at (416), andno human driver 107 is present in the vehicle 102, the vehicle 102 canstop its motion, at (412).

In some implementations, the vehicle 102 may switch between operationalmodes 106A-B. For example, if, at any time during states (406), (408),and/or (410), the human driver 107 exits the vehicle 102 (e.g., whileparked) and/or a physical interface 206 (e.g., switch interface) isadjusted to indicate that the vehicle 102 is to operate in the secondoperational mode 106B (e.g., adjusted to the second position), thecomputing device(s) 204 can cause the vehicle 102 to stop at (412) uponthe detection of a triggering event. Additionally, or alternatively,while stopped (e.g., at 412), in autonomous navigation mode (without ahuman driver), at (416), and/or the ready state at (414), a human driver107 may enter the vehicle 102 (e.g., while parked) and/or the physicalinterface 206 may be adjusted to indicate that the vehicle 102 is now inthe first operational mode 106A. As such, the computing device(s) 204can cause the vehicle 102 to enter into the manual control mode (e.g.,at (406)) upon the detection of a triggering event. In someimplementations, the computing device(s) 204 can perform a check at(418) to confirm that the vehicle 102 is performing an appropriateresponse. For example, the computing device(s) 204 can perform a checkto confirm that a human driver is present in the vehicle 102 in theevent that the vehicle 102 is to switch to a manual control mode. In theevent that no human driver is present, the computing device(s) 204 canengage another vehicle mechanism that would require human interaction(e.g., parking brake, other mechanism). This type of check can helpprevent an erroneous vehicle failover response.

FIG. 6 depicts an example control system 500 according to exampleembodiments of the present disclosure. The control system 500 cancorrespond to the control system 120, as described herein. The controlsystem 500 can include the one or more computing device(s) 502, whichcan correspond to the computing device(s) 204. The computing device(s)502 can include one or more processor(s) 504 on-board the vehicle 102and one or more memory device(s) 506 on-board the vehicle 102. The oneor more processor(s) 504 can be any suitable processing device such as amicroprocessor, microcontroller, integrated circuit, an applicationspecific integrated circuit (ASIC), a digital signal processor (DSP), afield-programmable gate array (FPGA), logic device, one or more centralprocessing units (CPUs), processing units performing other specializedcalculations, etc. The processor(s) 504 can be a single processor or aplurality of processors that are operatively and/or selectivelyconnected. The memory device(s) 506 can include one or morenon-transitory computer-readable storage media, such as RAM, ROM,EEPROM, EPROM, flash memory devices, magnetic disks, etc., and/orcombinations thereof.

The memory device(s) 506 can store information that can be accessed bythe one or more processor(s) 504. For instance, the memory device(s) 506on-board the vehicle 102 can include computer-readable instructions 508that can be executed by the one or more processor(s) 504. Theinstructions 508 can be software written in any suitable programminglanguage or can be implemented in hardware. Additionally, oralternatively, the instructions 508 can be executed in logically and/orvirtually separate threads on processor(s) 504. The instructions 508 canbe any set of instructions that when executed by the one or moreprocessor(s) 504 cause the one or more processor(s) 504 to performoperations.

For example, the memory device(s) 506 on-board the vehicle 102 can storeinstructions 508 that when executed by the one or more processor(s) 504on-board the vehicle cause the one or more processor(s) 504 (and/or thecontrol system 500) to perform operations such as any of the operationsand functions of the computing device(s) 204 or for which the computingdevice(s) 204 are configured, as described herein, the operations forcontrolling the failover response of a vehicle (e.g., one or moreportion(s) of methods 300, 400), and/or any other operations orfunctions for controlling a failover response of an autonomous vehicle,as described herein.

The one or more memory device(s) 506 can store data 510 that can beretrieved, manipulated, created, and/or stored by the one or moreprocessor(s) 504. The data 510 can include, for instance, dataassociated with the vehicle 102, data acquired by the data acquisitionsystem(s), map data, data associated with the vehicle operational mode,data associated with a vehicle ready state, data associated with atriggering event, data associated with user input, data associated withone or more action(s) and/or control signals, data associated withusers, and/or other data or information. The data 510 can be stored inone or more database(s). The one or more database(s) can be split up sothat they are located in multiple locales on-board the vehicle 102. Insome implementations, the computing device(s) 502 can obtain data fromone or more memory device(s) that are remote from the vehicle 102.

The computing device(s) 502 can also include communication interface 512used to communicate with one or more other system(s) on-board thevehicle 102 and/or computing device(s) that are remote from the vehicle(e.g., 104). The communication interface 512 can include any suitablecomponents for interfacing with one or more network(s) (e.g., 105),including for example, transmitters, receivers, ports, controllers,antennas, or other suitable hardware and/or software.

The technology discussed herein makes reference to computing devices,databases, software applications, and other computer-based systems, aswell as actions taken and information sent to and from such systems. Oneof ordinary skill in the art will recognize that the inherentflexibility of computer-based systems allows for a great variety ofpossible configurations, combinations, and divisions of tasks andfunctionality between and among components. For instance,computer-implemented processes discussed herein can be implemented usinga single computing device or multiple computing devices working incombination. Databases and applications can be implemented on a singlesystem or distributed across multiple systems. Distributed componentscan operate sequentially or in parallel.

Furthermore, computing tasks discussed herein as being performed atcomputing device(s) remote from the vehicle (e.g., the operationscomputing system and its associated computing device(s)) can instead beperformed at the vehicle (e.g., via the vehicle computing system). Suchconfigurations can be implemented without deviating from the scope ofthe present disclosure.

While the present subject matter has been described in detail withrespect to specific example embodiments and methods thereof, it will beappreciated that those skilled in the art, upon attaining anunderstanding of the foregoing can readily produce alterations to,variations of, and equivalents to such embodiments. Accordingly, thescope of the present disclosure is by way of example rather than by wayof limitation, and the subject disclosure does not preclude inclusion ofsuch modifications, variations and/or additions to the present subjectmatter as would be readily apparent to one of ordinary skill in the art.

What is claimed is:
 1. A computer-implemented method of controlling afailover response of an autonomous vehicle, comprising: determining, bya computing system comprising one or more computing devices on-board anautonomous vehicle, an operational mode of the autonomous vehicle,wherein the autonomous vehicle is configured to operate in at least afirst operational mode in which a human driver is present in theautonomous vehicle and a second operational mode in which the humandriver is not present in the autonomous vehicle; detecting, by thecomputing system, a triggering event associated with the autonomousvehicle; determining, by the computing system, one or more actions to beperformed by one or more systems on-board the autonomous vehicle inresponse to the triggering event, wherein the one or more actions arebased at least in part on whether the autonomous vehicle is in the firstoperational mode or the second operational mode; and providing, by thecomputing system, one or more control signals to one or more of thesystems on-board the autonomous vehicle to perform the one or moreactions in response to the triggering event.
 2. The computer-implementedmethod of claim 1, wherein the autonomous vehicle is configured toautonomously navigate without interaction from the human driver.
 3. Thecomputer-implemented method of claim 2, wherein the autonomous vehicleis in the second operational mode in which the human driver is notpresent in the autonomous vehicle, and wherein one or more of theactions comprise stopping a motion of the autonomous vehicle.
 4. Thecomputer-implemented method of claim 3, further comprising: providing,by the computing system, one or more other control signals to one ormore of the systems on-board the autonomous vehicle to allow theautonomous vehicle to resume motion of the autonomous vehicle withoutthe presence of the human driver.
 5. The computer-implemented method ofclaim 1, wherein the triggering event comprises a defect associated witha communicability between the computing system and another system of theautonomous vehicle.
 6. The computer-implemented method of claim 1,wherein the triggering event is associated with at least one of auser-initiated request and a computing device that is remote from theautonomous vehicle.
 7. The computer-implemented method of claim 1,wherein the autonomous vehicle is in the first operational mode in whichthe human driver is present in the autonomous vehicle, and wherein oneor more of the actions comprise allowing the human driver manual controlof the autonomous vehicle.
 8. The computer-implemented method of claim1, wherein determining, by the computing system on-board the autonomousvehicle, the operational mode of the autonomous vehicle comprises:receiving, by the computing system, data indicative of a positionassociated with a physical interface on-board the autonomous vehicle,wherein the autonomous vehicle is to operate in the first operationalmode when the physical interface is in a first position, and wherein theautonomous vehicle is to operate in the second operational mode when thephysical interface is in a second position.
 9. The computer-implementedmethod of claim 8, wherein the physical interface is a physical switchinterface that is adjustable between the first position and the secondposition.
 10. A control system for controlling a failover response of anautonomous vehicle, comprising: one or more processors on-board theautonomous vehicle; and one or more memory devices on-board theautonomous vehicle, the one or more memory devices storing instructionsthat when executed by the one or more processors cause the one or moreprocessors to perform operations, the operations comprising: detecting atriggering event associated with the autonomous vehicle configured tooperate in a plurality of operational modes, wherein the plurality ofoperational modes comprise a first operational mode in which a humandriver is present in the autonomous vehicle and a second operationalmode in which the human driver is not present in the autonomous vehicle;determining one or more actions to be performed by one or more systemson-board the autonomous vehicle in response to the detection of thetriggering event, wherein the one or more actions are based at least inpart on whether the autonomous vehicle is in the first operational modeor the second operational mode; and providing one or more controlsignals to the one or more systems on-board the autonomous vehicle toperform the one or more actions.
 11. The control system of claim 10,wherein the one or more systems on-board the autonomous vehicle compriseone or more vehicle control components, and wherein the one or morevehicle control components comprise a brake component and a steeringcomponent.
 12. The control system of claim 10, wherein the autonomousvehicle is in the second operational mode in which the human driver isnot present in the autonomous vehicle, and wherein one or more of theactions comprise at least one of a deceleration of the autonomousvehicle via the braking component or an adjustment of the heading of theautonomous vehicle via the steering component.
 13. The control system ofclaim 10, wherein the autonomous vehicle is in the first operationalmode in which the human driver is present in the autonomous vehicle, andwherein one or more of the actions comprise allowing the human driver tomanually control the autonomous vehicle.
 14. The control system of claim10, wherein the autonomous vehicle is configured to autonomouslynavigate without interaction from the human driver, and wherein theoperations comprise: receiving, after performance of the one or moreactions, data indicating that the autonomous vehicle is ready toautonomously navigate without interaction from the human driver; andsending one or more other control signals to one or more of the systemson-board the autonomous vehicle to autonomously navigate the autonomousvehicle without interaction from the human driver.
 15. The controlsystem of claim 10, wherein the triggering event is associated with alack of communicability with an autonomy system of the autonomousvehicle.
 16. An autonomous vehicle comprising: one or more systemson-board the autonomous vehicle; one or more processors on-board theautonomous vehicle; and one or more memory devices on-board theautonomous vehicle, the one or more memory devices storing instructionsthat when executed by the one or more processors cause the one or moreprocessors to perform operations, the operations comprising: determiningan operational mode of the autonomous vehicle, wherein the autonomousvehicle is configured to operate in at least a first operational mode inwhich a human driver is present in the autonomous vehicle and a secondoperational mode in which the human driver is not present in theautonomous vehicle; detecting a triggering event associated with theautonomous vehicle; determining one or more actions to be performed byone or more of the systems on-board the autonomous vehicle in responseto the triggering event, wherein the one or more actions are based atleast in part on whether the human driver is present in the autonomousvehicle; and providing one or more control signals to one or more of thesystems on-board the autonomous vehicle to perform the one or moreactions.
 17. The autonomous vehicle of claim 16, wherein determining theoperational mode of the autonomous vehicle comprises: determiningwhether the autonomous vehicle is the first operational mode or thesecond operational mode based at least in part on data indicative of thepresence of the human driver in the autonomous vehicle, wherein thepresence of the human driver is detectable based at least in part on achange in a condition associated with the interior of the autonomousvehicle.
 18. The autonomous vehicle of claim 17, wherein the conditionassociated with the autonomous vehicle comprises at least one of aweight load in a driver's seat of the autonomous vehicle and a positionof a seat belt associated with the human driver.
 19. The autonomousvehicle of claim 16, wherein the one or more actions comprise allowingthe human driver to manually control the autonomous vehicle.
 20. Theautonomous vehicle of claim 16, wherein the one or more actions comprisestopping a motion of the autonomous vehicle.